home *** CD-ROM | disk | FTP | other *** search
- addrBook <- DataBase new
-
- record <- DBRecordTemplate new: 7 " Seven DBFieldString fields "
-
- name <- DBFieldString new
- surname <- DBFieldString new
- address <- DBFieldString new
- city <- DBFieldString new
- state <- DBFieldString new
- zipcode <- DBFieldString new
- phone <- DBFieldString new
-
- nameField <- name create: 'First_Name' length: 32
- surnameField <- surname create: 'Last_Name' length: 32
- addressField <- address create: 'Address' length: 32
- cityField <- city create: 'City/Town' length: 32
- stateField <- state create: 'State' length: 20
- zipcodeField <- zipcode create: 'ZipCode' length: 11
- phoneField <- phone create: 'Phone #' length: 14
-
- record addField: nameField at: 1 " Setup the DBRecordTemplate "
- record addField: surnameField at: 2
- record addField: addressField at: 3
- record addField: cityField at: 4
- record addField: stateField at: 5
- record addField: zipcodeField at: 6
- record addField: phoneField at: 7
-
- recordData <- DBData new: (record recordSize) "173 <- 32 * 4 + 20 + 11 + 14"
-
- addrBook create: 'SimpleAddressBook' for: record
-
- addrBook open: 'SimpleAddressBook' for: record
-
-
- ( 'Executing the TestDBase1 file...' ) print
-
- titleStr <- 'SimpleAddressBook (DataBase example):'
-
- amigatalk newIO: 'Enter your first name:' title: titleStr
-
- rval <- amigatalk getString
-
- nameData1 <- FieldString new: rval
-
- recordData modifyWith: (nameData1 value) at: (record offsetAt: 1) length: (nameData1 value) size
-
-
- amigatalk newIO: 'Enter your last name:' title: titleStr
-
- rval <- amigatalk getString
-
- surnameData1 <- FieldString new: rval
-
- recordData modifyWith: (surnameData1 value) at: (record offsetAt: 2) length: (surnameData1 value) size
-
- amigatalk newIO: 'Enter your Street Address:' title: titleStr
-
- rval <- amigatalk getString
-
- addrData1 <- FieldString new: rval
-
- recordData modifyWith: (addrData1 value) at: (record offsetAt: 3) length: (addrData1 value) size
-
- amigatalk newIO: 'Enter your City/Town:' title: titleStr
-
- rval <- amigatalk getString
-
- cityData1 <- FieldString new: rval
-
- recordData modifyWith: (cityData1 value) at: (record offsetAt: 4) length: (cityData1 value) size
-
- amigatalk newIO: 'Enter your State/Province:' title: titleStr
-
- rval <- amigatalk getString
-
- stateData1 <- FieldString new: rval
-
- recordData modifyWith: (stateData1 value) at: (record offsetAt: 5) length: (stateData1 value) size
-
- amigatalk newIO: 'Enter your ZipCode (12345-1234):' title: titleStr
-
- rval <- amigatalk getString
-
- zipData1 <- FieldString new: rval
-
- recordData modifyWith: (zipData1 value) at: (record offsetAt: 6) length: (zipData1 value) size
-
- amigatalk newIO: 'Enter your Phone Number (123) 123-4567:' title: titleStr
-
- rval <- amigatalk getString
-
- phoneData1 <- FieldString new: rval
-
- recordData modifyWith: (phoneData1 value) at: (record offsetAt: 7) length: (phoneData1 value) size
-
- addrBook write: recordData as: 1
-
-
- amigatalk newIO: 'User Information:' title: titleStr
-
- amigatalk displayString: 'Your data was written as Record number 1'
-
- amigatalk displayString: 'Now let us enter another record!'
-
- recordData reset " Re-use the same recordData object! "
-
- amigatalk newIO: 'Enter another first name:' title: titleStr
-
- rval <- amigatalk getString
- nameData2 <- FieldString new: rval
-
- recordData modifyWith: (nameData2 value) at: (record offsetAt: 1) length: (nameData2 value) size
-
- amigatalk newIO: 'Enter another last name:' title: titleStr
-
- rval <- amigatalk getString
- surnameData2 <- FieldString new: rval
-
- recordData modifyWith: (surnameData2 value) at: (record offsetAt: 2) length: (surnameData2 value) size
-
- amigatalk newIO: 'Enter another Street Address:' title: titleStr
-
- rval <- amigatalk getString
- addrData2 <- FieldString new: rval
-
- recordData modifyWith: (addrData2 value) at: (record offsetAt: 3) length: (addrData2 value) size
-
- amigatalk newIO: 'Enter another City/Town:' title: titleStr
-
- rval <- amigatalk getString
- cityData2 <- FieldString new: rval
-
- recordData modifyWith: (cityData2 value) at: (record offsetAt: 4) length: (cityData2 value) size
-
- amigatalk newIO: 'Enter another State/Province:' title: titleStr
-
- rval <- amigatalk getString
- stateData2 <- FieldString new: rval
-
- recordData modifyWith: (stateData2 value) at: (record offsetAt: 5) length: (stateData2 value) size
-
- amigatalk newIO: 'Enter another ZipCode (12345-1234):' title: titleStr
-
- rval <- amigatalk getString
- zipData2 <- FieldString new: rval
-
- recordData modifyWith: (zipData2 value) at: (record offsetAt: 6) length: (zipData2 value) size
-
- amigatalk newIO: 'Enter another Phone Number (123) 123-4567:' title: titleStr
-
- rval <- amigatalk getString
- phoneData2 <- FieldString new: rval
-
- recordData modifyWith: (phoneData2 value) at: (record offsetAt: 7) length: (phoneData2 value) size
-
- addrBook write: recordData as: 2
-
- amigatalk setIOTitle: 'DBase example Tests (continued):'
- amigatalk setIOMessage: 'DBase entries finished!'
- amigatalk displayString: 'Your data was written as Record number 2'
-
- nameData1 dispose " Get rid of old junk "
- surnameData1 dispose
- addrData1 dispose
- cityData1 dispose
- stateData1 dispose
- zipData1 dispose
- phoneData1 dispose
-
- nameData2 dispose
- surnameData2 dispose
- addrData2 dispose
- cityData2 dispose
- stateData2 dispose
- zipData2 dispose
- phoneData2 dispose
-
- ( 'Now, execute TestDBase2 file!' ) print
-